#include<iostream>
#include<stdio.h>
#include<unistd.h>
#include<pthread.h>
#include<string>

using namespace std;

void* threadRoutine(void* args)
{
    int i=0;
    while(true)
    {
        cout<<"新线程："<<(char*)args<<" runing..."<<endl;
        sleep(1);
        if(i++==10) break;
    }
    cout<<"new thread quit ... "<<endl;
    return (void*)10;
}

int main()
{
    pthread_t tid;
    pthread_create(&tid,nullptr,threadRoutine,(void*)"thread 1");   

    void *ret=nullptr;   
    pthread_join(tid,&ret);
    cout<<"main thread wait done ... main quit,,,\n"<<(long long)ret<<endl;
    
    // while(true)
    // {
    //     cout<<"main线程："<<" runing..."<<endl;
    //     sleep(1);
    // }
}



// void *threadRun(void *args)
// {
    
//     const string name = (char*)args;
    
//     while(true)
//     {
//         cout << name << ",pid : " << getpid() << endl;
//         sleep(1);
//     }
// }

// int main()
// {
//     pthread_t tid[5];
//     char name[64];
//     for(int i=0;i<5;i++)
//     {
//         //cout<<i<<endl;
//         snprintf(name,sizeof name, "%s-%d","thread",i);
//         pthread_create(tid+i, nullptr, threadRun, (void*)name);
//         sleep(1);//缓解传参bug
//     } 

//     while(true)
//     {
//         cout<< "main thread,pid: "<<getpid()<<endl;
//         sleep(3);
//     }
// }